****************************************************************************
* File-Name: 		mainanalysis.do
* Date:		 08/26/2021
* Author: 		Batista Pereira et al.
* Purpose: 		Analysis of round 2 of fake news experiment
* Data used: 		round2updated.dta
* Data Output:	
   * Figure 3: marginal effect of fact-checking corrections
   * Figure 4: rates of belief by type of fake news
   * Figure 5: correlates of belief by type of rumor
   * Figure 6: marginal effect of fact-checking corrections by type of rumor and partisanship
   * All tables and figures in Appendices: B, C, D, G, H, I and J. 
   
 ** Note: whenever possible we incldued codes to replicate all tables in .tex 
 *         format. The formatting of the replicated tables might differ  
 *         slighly from the tables included in the manuscript. 
****************************************************************************

* For generating tables in .tex: 
ssc install estout, replace
ssc install tabout, replace
ssc install eclplot, replace

**** RECODES

* sex

encode sexo, gen(sex)

replace sex = sex - 1

label variable sex "Sex (1= male)"

* age

gen age = (idade - 16)/59

label variable age "Age"

* education

encode esc, gen(education)

replace education  = education - 1

label variable education "Education (ordinal)"

* college

gen college = education

recode college (3=1) (else=0)

label variable college "College educated (binary)"

* income

encode rendaf, gen(income)

replace income = (income - 1)/7

label variable income "Income"

* interest in elections

encode int2, gen(interest)

recode interest (3=.) (4=0) (5=1) (1=2) (2=3)  

replace interest = interest/3

label variable interest "Interest in elections“

* petismo

encode prtd1, gen(petista)

recode petista (23=1) (else=0)

*other partisan

encode prtd1, gen(otherpartisan)

recode otherpartisan (23=0) (3 5=0) (else=1)

* antipetismo

encode prtd2, gen(antipetista)

recode antipetista (15=1) (else=0)

replace antipetista = 0 if otherpartisan==1

* other antipartisan

encode prtd2, gen(otherantipartisan)

recode otherantipartisan (15=0) (3 5=0) (else=1)

replace otherantipartisan = 0 if otherpartisan ==1

replace otherantipartisan = 0 if petista ==1


* nonpartisans

gen nonpartisan =1
replace nonpartisan = 0 if petista==1
replace nonpartisan = 0 if antipetista==1
replace nonpartisan = 0 if otherpartisan==1
replace nonpartisan = 0 if otherantipartisan==1

* single partisanship variable (excluding otherpartisans and otherantipartisans)

gen partisanship=.
replace partisanship = 0 if nonpartisan==1
replace partisanship = 1 if antipetista==1
replace partisanship = 2 if petista==1

label variable partisanship "nonpartisans, antipetista, petista (others as miss)"

** types of nonpartisan

*encode etp2, gen(vote)

* feeling towards PT

encode pt2, gen(pt_feeling)

recode pt_feeling (4=.) (2=0) (1=-1) (5=-.5) (6=1) (3=.5)

label variable pt_feeling "Feelings towards PT"

* feeling towards as 3-category variable

gen pt_feeling3 = pt_feeling

recode pt_feeling3 (-1 -.5= 0) (0=1) (.5 1=2)

* partisanship including nonpartisan leaners (0=true, 1=leaners, 2= antipetistas, 3=petistas)

gen partisanship2 = partisanship + 1
replace partisanship2 = 0 if partisanship2==1 & pt_feeling3==1

* dummy for nonpartisan leaners 

gen leaner = partisanship2
recode leaner (1=1) (0 2 3=0) (.=0)

* dogmatism 

encode dogmatism3, gen(dogmatism)

recode dogmatism (3 4 5=.) (1=0) (2=1)

label variable dogmatism "Scale of dogmatism"

* disengagement

recode disengagement2 (8 9=.) (1=0) (2=.25) (3=.50) (4=.75) (5=1)

gen disengagement = disengagement2

label variable disengagement "Scale of disengagement"


* belief in fake news (DKs as missing)

forvalues i=1/2 {
encode beliefnp`i', gen(bnp`i')
recode bnp`i' (3 4 5=.) (2=0) (1=1)
}

forvalues i=3/4 {
encode beliefnn`i', gen(bnn`i')
recode bnn`i' (3 4 5=.) (2=0) (1=1)
}

forvalues i=5/6 {
encode beliefpl`i', gen(bpl`i')
recode bpl`i' (3 4 5=.) (2=0) (1=1)
}

gen belief1 =.
replace belief1= bnp1 if bnp1!=.
replace belief1= bnp2 if bnp2!=.
replace belief1= bnn3 if bnn3!=.
replace belief1= bnn4 if bnn4!=.
replace belief1= bpl5 if bpl5!=.
replace belief1= bpl6 if bpl6!=.

label variable belief1 "Belief (DK as missing)"

* variable of rumor rejection (belief1 recoded)

gen disbelief1 = 1 - belief1

label variable disbelief1 "Rumor Rejection (DK as missing)"


* belief in fake news (DK follow-up): there is something wrong with this variable; 1) respondents who gave valid responses in belief question are showing responses for some beiiefns questions; 2) there is an unlabelled 3rd categories with a few responses for some beliefns variables. (AVOID)

forvalues i=1/6 {
encode beliefns`i', gen(bns`i')
recode bns`i' (3 4 5 6=.) (1=1) (2=0)
}

gen belief2 =.
forvalues i=1/6 {
replace belief2= bns`i' if bns`i'!=.
}

replace belief2 = belief1 if belief2==.

label variable belief2 "Belief (follow-up answers included)"

* belief in fake news (Berinsky: DK as belief)

forvalues i=1/2 {
encode beliefnp`i', gen(bnp3`i')
recode bnp3`i' (4 5=.) (2=0) (1 3=1)
}

forvalues i=3/4 {
encode beliefnn`i', gen(bnn3`i')
recode bnn3`i' (4 5=.) (2=0) (1 3=1)
}

forvalues i=5/6 {
encode beliefpl`i', gen(bpl3`i')
recode bpl3`i' (4 5=.) (2=0) (1 3=1)
}

gen belief3 =.
replace belief3= bnp31 if bnp31!=.
replace belief3= bnp32 if bnp32!=.
replace belief3= bnn33 if bnn33!=.
replace belief3= bnn34 if bnn34!=.
replace belief3= bpl35 if bpl35!=.
replace belief3= bpl36 if bpl36!=.

label variable belief3 "Belief (DK as belief)"


* belief in fake news (DK as separate category)

forvalues i=1/2 {
encode beliefnp`i', gen(bnp4`i')
recode bnp4`i' (4 5=.) (3=0) (2=1) (1=2)
}

forvalues i=3/4 {
encode beliefnn`i', gen(bnn4`i')
recode bnn4`i' (4 5=.) (3=0) (2=1) (1=2)
}

forvalues i=5/6 {
encode beliefpl`i', gen(bpl4`i')
recode bpl4`i' (4 5=.) (3=0) (2=1) (1=2)
}

gen belief4 =.
replace belief4= bnp41 if bnp41!=.
replace belief4= bnp42 if bnp42!=.
replace belief4= bnn43 if bnn43!=.
replace belief4= bnn44 if bnn44!=.
replace belief4= bpl45 if bpl45!=.
replace belief4= bpl46 if bpl46!=.

label variable belief4 "Belief (DK as separate category)"


* strength of belief

gen strength =.
encode beliefnp1, gen(bnp1_2)
encode beliefnp2, gen(bnp2_2)
encode beliefnn3, gen(bnn3_2)
encode beliefnn4, gen(bnn4_2)
encode beliefpl5, gen(bpl5_2)
encode beliefpl6, gen(bpl6_2)
replace strength=0 if bnp1_2==3
replace strength=0 if bnp2_2==3
replace strength=0 if bnn3_2==3
replace strength=0 if bnn4_2==3
replace strength=0 if bpl5_2==3
replace strength=0 if bpl6_2==3


forvalues i=1/6 {
encode strengtht`i', gen(stt`i')
recode stt`i' (4 5 6=.) (3=1) (2=2) (1=3)
}
forvalues i=1/6 {
encode strengthf`i', gen(stf`i')
recode stf`i' (4 5 6=.) (3=-1) (2=-2) (1=-3)
}
forvalues i=1/6 {
replace strength= stt`i' if stt`i'!=.
replace strength= stf`i' if stf`i'!=.
}

label variable strength "Strength of rumor belief"


* news type (2 pos, 1 neg, 0 placebo)

gen newstype = imag

recode newstype (1 2 =2) (3 4=1) (5 6=0)

label variable newstype "Newstype"


* news type 2 (1 pos and neg, 0 placebo)

gen newstype2 = newstype
recode newstype2 (2=1)

* treatment (1 fact2, 2 baseline)

gen fact2 = 2 - cat

label variable fact2 "Uol fact-checking"

* dummies for images

tab imag, gen(imag)



*** PREAMBLE: which DV to use?

* comparing rates of belief between coding Dk as missing and coding it as belief (Berinsky)
* rates of belief go up by 13% points using Berinsky’s strategy;

sort imag
 
by imag: summarize belief1 belief3 

* responses to follow-up DK question: DKs becomes belief for more than half of respondents for only one rumor

tab bns1
tab bns2
tab bns3
tab bns4
tab bns5
tab bns6

* overall rates of DK: range between 7% and 18.5% (in Berinsky 2018, lower is 17%; in Berinsky 2017a, it is between 23 and 33% in control group

 by imag: tab belief4


** DISTRIBUTION OF PARTISANSHIP

tab petista

tab antipetista

tab nonpartisan

tab otherpartisan

tab otherantipartisan

*** EFFECTS OF CORRECTIONS ON RUMOR REJECTION (DISBELIEF) FOR FULL SAMPLE (Figure 4, Table H1 in Appendix H)

* nonpolitical, negative, positive (columns 1 and 2 of table H1)

reg disbelief1 i.fact2##i.newstype imag1 imag3 imag5, robust

reg disbelief1 i.fact2##i.newstype disengagement i.partisanship dogmatism age sex income interest college imag1 imag3 imag5, robust

margins, dydx(fact2) at(newstype=(0(1)2)) mcomp(bon)


* nonpolitical and political (columns 3 and 4 of table H1)

reg disbelief1 i.fact2##i.newstype2 imag1 imag3 imag5, robust

reg disbelief1 i.fact2##i.newstype2 disengagement i.partisanship dogmatism age sex income interest college imag1 imag3 imag5, robust

margins, dydx(fact2) at(newstype2=(0(1)1)) mcomp(bon)

matrix point2 = (.0569657 \ .0413768     \.024783  \  .0512388  )

matrix lb2 = (  -.0356572 \   -.0204871 \  -.0698635   \  -.0404236 )

matrix up2 = (  .1495886\  .1032406\ .1194296\   .1429012)

matrix news2 = (1\2\3\4)

matrix matrix2 = point2, lb2, up2, news2

matrix list matrix2

svmat matrix2, name(b)

eclplot b1 b2 b3 b4, ciopts(blcolor(black) msize(vtiny)) estopts(color(black) m(circle)) xlabel(0.3 " " 1 `" "Nonpolitical" "Rumor" "' 2 `" "Political" "Rumor" "' 3 `" "Anti-PT" "Rumor" "' 4 `" "Pro-PT" "Rumor" "' 4.3 " ", noticks labgap(2) tl(2) nogrid) yline(0, lcolor(black) lpattern(dash)) ylabel(-.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3", nogrid) ytitle("") xtitle("") ysize(8) xsize(8) graphregion(color(white)) plotregion(style(none)) xscale(noextend) yscale(noextend)

graph export fig3.eps



**** RATES OF BELIEF FOR FULL SAMPLE ***
* (Codes for Figure 4 and Table H2 in Appendix H) *

probit belief1 i.newstype
eststo 

margins, at(newstype=(0(1)2))

probit belief1 i.newstype if fact2==0
eststo

margins, at(newstype=(0(1)2))

* Table H2 in Appendix H:
esttab using TableH2.tex, star(* 0.05 ** 0.01 *** 0.001) se(3)
eststo clear


matrix point1 = (.470305\ .4953271  \.2814464\   .2861736 \.2880844 \.304878 )

matrix lb1 = (.4311121 \ .4406322 \.2464965  \ .2359418 \  .2536125\ .2550579  )

matrix up1 = ( .5094978\   .550022\ .3163964\ .3364055 \ .3225563\ .3546982)

matrix model1 = (1\2\1\2\1\2) 

matrix news1 = (1\1\2\2\3\3)

matrix matrix1 = point1, lb1, up1, model1, news1

matrix list matrix1

svmat matrix1, name(a)

eclplot a1 a2 a3 a5, supby(a4, spaceby(0.1) offset(-0.1)) ciopts1(blcolor(black) msize(vtiny)) ciopts2(blcolor(gs6) msize(vtiny)) estopts1(color(black) m(circle)) estopts2(color(gs6))  xlabel(0.3 " " 1 `" "Non Political" "Rumor" "' 2 `" "Anti-PT" "Rumor" "' 3 `" "Pro-PT" "Rumor" "' 3.3 " ", noticks labgap(2) tl(2) nogrid) ylabel(0 "0" .2 ",2" .4 ".4" .6 ".6" .8 ".8" 1 "1", nogrid) ytick(0 .2 .4 .6) ytitle("") xtitle("") legend(region(lcolor(white)) pos(6) ring(1) c(3) order(2 "Full Sample" 4 "Control Group")) ysize(8) xsize(8) graphregion(color(white)) plotregion(style(none)) xscale(noextend) yscale(noextend)

* Figure 4 of main text:
graph export fig4.eps


**** CORRELATES OF BELIEF ****
* (Codes for Figure 5 and Table H3 in Appendix H)

* non political

probit belief1 age sex income interest college disengagement dogmatism antipetista petista if newstype==0 & partisanship!=.
eststo

margins, dydx(age sex income interest college disengagement dogmatism antipetista petista)

marginsplot, horizontal plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Nonpolitical Rumors}", color(black) size(large) margin(medium)) xline(0, lcolor(black) lpattern(dash)) ylabel(1 "Age" 2 "Sex" 3 "Income" 4 "Interest" 5 "College Degree" 6 "Disengagement" 7 "Dogmatism" 8 "Antipetista" 9 "Petista", labsize(medium) nogrid) xlabel(-.4 "-.4" -.2 "-.2" 0 "0" .2 ".2" .4 ".4", labsize(medium)) xtitle(" ", size(medim) width(0)) ytitle(" ", size(medlarge) height(5)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(ob_non)

* political

probit belief1 age sex income interest college disengagement dogmatism antipetista petista if newstype>0 & partisanship!=.
eststo

margins, dydx(age sex income interest college disengagement dogmatism antipetista petista)

marginsplot, horizontal plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Political Rumors}", color(black) size(large) margin(medium)) xline(0, lcolor(black) lpattern(dash)) ylabel(1 "Age" 2 "Sex" 3 "Income" 4 "Interest" 5 "College Degree" 6 "Disengagement" 7 "Dogmatism" 8 "Antipetista" 9 "Petista", labsize(medium) nogrid) xlabel(-.4 "-.4" -.2 "-.2" 0 "0" .2 ".2" .4 ".4", labsize(medium)) xtitle(" ", size(medim) width(0)) ytitle(" ", size(medlarge) height(5)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(ob_pol)


* negative

probit belief1 age sex income interest college disengagement dogmatism antipetista petista if newstype==1 & partisanship!=.
eststo

margins, dydx(age sex income interest college disengagement dogmatism antipetista petista)

marginsplot, horizontal plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Anti-PT Rumors}", color(black) size(large) margin(medium)) xline(0, lcolor(black) lpattern(dash)) ylabel(1 "Age" 2 "Sex" 3 "Income" 4 "Interest" 5 "College Degree" 6 "Disengagement" 7 "Dogmatism" 8 "Antipetista" 9 "Petista", labsize(medium) nogrid) xlabel(-.4 "-.4" -.2 "-.2" 0 "0" .2 ".2" .4 ".4", labsize(medium)) xtitle(" ", size(medim) width(0)) ytitle(" ", size(medlarge) height(5)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(ob_neg)


* positive

probit belief1 age sex income interest college disengagement dogmatism antipetista petista if newstype==2 & partisanship!=.
eststo

margins, dydx(age sex income interest college disengagement dogmatism antipetista petista)

marginsplot, horizontal plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Pro-PT Rumors}", color(black) size(large) margin(medium)) xline(0, lcolor(black) lpattern(dash)) ylabel(1 "Age" 2 "Sex" 3 "Income" 4 "Interest" 5 "College Degree" 6 "Disengagement" 7 "Dogmatism" 8 "Antipetista" 9 "Petista", labsize(medium) nogrid) xlabel(-.4 "-.4" -.2 "-.2" 0 "0" .2 ".2" .4 ".4", labsize(medium)) xtitle(" ", size(medim) width(0)) ytitle(" ", size(medlarge) height(5)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(ob_pos)


* Table H3 in Appendix H:
esttab using TableH3.tex, star(* 0.05 ** 0.01 *** 0.001) se(3)
eststo clear

* combining graphs

graph combine ob_non.gph ob_pol.gph ob_neg.gph ob_pos.gph, row(2) ysize(10) xsize(12) graphregion(color(white)) plotregion(style(none)) iscale(.6)

* Figure 5 of main text:
graph export fig5.eps


*** EFFECTS OF CORRECTIONS ON RUMOR REJECTION (DISBELIEF) BY PARTISANSHIP ***
* (Codes for Figure 5 and Tables H4 and H5 in Appendix H)

* nonpolitical, w controls

reg disbelief1 i.fact2##i.partisanship disengagement dogmatism age sex income interest college i.imag if newstype==0, robust
eststo

margins, dydx(fact2) at(partisanship=(0(1)2)) mcomp(bon)

marginsplot, plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Nonpolitical Rumor}", color(black) size(vlarge)) yline(0, lcolor(black) lpattern(dash)) ytitle(" ", height(7)) ylabel(-.4 "-.4" -.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3" .4 ".4",nogrid) xtitle(" ", size(medlarge) height(5)) xlabel(-.5 " " 0 "Nonpartisan" 1 "Antipetista" 2 "Petista" 2.5 " ", noticks labsize(medsmall)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(corr_non)

* political, w controls

reg disbelief1 i.fact2##i.partisanship disengagement dogmatism age sex income interest college i.imag if newstype>0, robust
eststo

margins, dydx(fact2) at(partisanship=(0(1)2)) mcomp(bon)

marginsplot, plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Political Rumor}", color(black) size(vlarge)) yline(0, lcolor(black) lpattern(dash)) ytitle(" ", height(7)) ylabel(-.4 "-.4" -.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3" .4 ".4",nogrid) xtitle(" ", size(medlarge) height(5)) xlabel(-.5 " " 0 "Nonpartisan" 1 "Antipetista" 2 "Petista" 2.5 " ", noticks labsize(medsmall)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(corr_pol)

* negative, w controls


reg disbelief1 i.fact2##i.partisanship disengagement dogmatism age sex income interest college i.imag if newstype==1, robust
eststo

margins, dydx(fact2) at(partisanship=(0(1)2)) mcomp(bon)

marginsplot, plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Anti-PT Rumor}", color(black) size(vlarge)) yline(0, lcolor(black) lpattern(dash)) ytitle(" ", height(7)) ylabel(-.4 "-.4" -.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3" .4 ".4",nogrid) xtitle(" ", size(medlarge) height(5)) xlabel(-.5 " " 0 "Nonpartisan" 1 "Antipetista" 2 "Petista" 2.5 " ", noticks labsize(medsmall)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(corr_neg)


* positive, w controls

reg disbelief1 i.fact2##i.partisanship disengagement dogmatism age sex income interest college i.imag if newstype==2, robust
eststo

margins, dydx(fact2) at(partisanship=(0(1)2)) mcomp(bon)

marginsplot, plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Pro-PT Rumor}", color(black) size(vlarge)) yline(0, lcolor(black) lpattern(dash)) ytitle(" ", height(7)) ylabel(-.4 "-.4" -.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3" .4 ".4",nogrid) xtitle(" ", size(medlarge) height(5)) xlabel(-.5 " " 0 "Nonpartisan" 1 "Antipetista" 2 "Petista" 2.5 " ", noticks labsize(medsmall)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(corr_pos)

* combining graphs

graph combine corr_non.gph corr_pol.gph corr_neg.gph corr_pos.gph, row(2) ysize(10) xsize(12) graphregion(color(white)) plotregion(style(none)) iscale(.6)

* Figure 6 of main text:
graph export fig6.eps


* Table H4 in appendix H:

esttab using TableH4.tex, star(* 0.05 ** 0.01 *** 0.001) se(3)
eststo clear


**Models without controls (Table H5 in appendix H)
* nonpolitical, no controls

reg disbelief1 i.fact2##i.partisanship i.imag if newstype==0, robust
eststo

* political, no controls
reg disbelief1 i.fact2##i.partisanship i.imag if newstype>0, robust
eststo
* negative, no controls

reg disbelief1 i.fact2##i.partisanship i.imag if newstype==1, robust
eststo
* positive, no controls

reg disbelief1 i.fact2##i.partisanship i.imag if newstype==2, robust
eststo


* Table H5 in appendix H:

esttab using TableH5.tex, star(* 0.05 ** 0.01 *** 0.001) se(3)
eststo clear

** (commented code below) Alternative model specifications to Tables H4 and H5 (split samples, with and without controls, with and without rumor fixed effects) in which some correctipns work for some partisan groups (footnote 26)
* sort partisanship
** correction increases rumor rejection of nonpolitical rumors for antipetistas
* by partisanship: reg disbelief1 i.fact2 disengagement dogmatism age sex income interest college i.imag if newstype==0
* by partisanship: reg disbelief1 i.fact2 if newstype==0
** correction increases rumor rejection of political rumors for nonpartisans (only with controls and fixed effects)
* by partisanship: reg disbelief1 i.fact2 disengagement dogmatism age sex income interest college i.imag if newstype>0
* by partisanship: reg disbelief1 i.fact2 if newstype>0
** correction does not affect rejection of negative political rumors for all subgroups
* by partisanship: reg disbelief1 i.fact2 disengagement dogmatism age sex income interest college i.imag if newstype==1
* by partisanship: reg disbelief1 i.fact2 if newstype==1
** correction increases rumor rejection of positive political rumors for nonpartisans (only with controls and fixed effects)
* by partisanship: reg disbelief1 i.fact2 disengagement dogmatism age sex income interest college i.imag if newstype==2
* by partisanship: reg disbelief1 i.fact2 if newstype==2


*** Appendix B - Study Design 

* Table B1: Study Design 
tab fact2 newstype
tabout fact2 newstype using TableB1.tex


*** Appendix C - Descriptive Statistics for Samples 

* Table C1: Descriptive Statistics for Variables Used in Study
summarize dogmatism disengagement petista antipetista nonpartisan college interest income sex age


*** Appendix D - Rates of Belief in Specific Rumors

* Table D1: Rumor Acceptance in the Survey 
sort imag

by imag: tab belief4

by imag: tab belief2 if belief4==0


*** Appendix G - BALANCE CHECKS 

***Codes for Table G1:

* Second (nonpolitical), Third (Negative) and Fourth (Positive) columns of Table G1

reg income i.fact2##I.newstype, robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg education i.fact2##i.newstype, robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg sex i.fact2##i.newstype, robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg age i.fact2##i.newstype, robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg interest i.fact2##I.newstype, robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg dogmatism i.fact2##I.newstype, robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg disengagement i.fact2##I.newstype, robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg petista i.fact2##I.newstype, robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg antipetista i.fact2##I.newstype, robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg nonpartisan i.fact2##I.newstype, robust

margins, dydx(fact2) at(newstype=(0(1)2))


* Last column of Table G1 (All rumors)

reg income i.fact2, robust

margins, dydx(fact2)

reg education i.fact2, robust

margins, dydx(fact2)

reg sex i.fact2, robust

margins, dydx(fact2) 

reg age i.fact2, robust

margins, dydx(fact2)

reg interest i.fact2, robust

margins, dydx(fact2)

reg dogmatism i.fact2, robust

margins, dydx(fact2)

reg disengagement i.fact2, robust

margins, dydx(fact2)

reg petista i.fact2, robust

margins, dydx(fact2)

reg antipetista i.fact2, robust

margins, dydx(fact2)

reg nonpartisan i.fact, robust

margins, dydx(fact2)


*** Codes for Table G2

* Second (nonpolitical), Third (Negative) and Fourth (Positive) columns of Table G2 (excluding other partisans and other nonpartisans) 

reg income i.fact2##I.newstype if partisanship!=., robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg education i.fact2##i.newstype if partisanship!=., robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg sex i.fact2##i.newstype if partisanship!=., robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg age i.fact2##i.newstype if partisanship!=., robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg interest i.fact2##I.newstype if partisanship!=., robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg dogmatism i.fact2##I.newstype if partisanship!=., robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg disengagement i.fact2##I.newstype if partisanship!=., robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg petista i.fact2##I.newstype if partisanship!=., robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg antipetista i.fact2##I.newstype if partisanship!=., robust

margins, dydx(fact2) at(newstype=(0(1)2))

reg nonpartisan i.fact2##I.newstype if partisanship!=., robust

margins, dydx(fact2) at(newstype=(0(1)2))


* Last column of Table G2 (All rumors) (excluding other partisans and other nonpartisans) 

reg income i.fact2 if partisanship!=., robust

margins, dydx(fact2)

reg education i.fact2 if partisanship!=., robust

margins, dydx(fact2)

reg sex i.fact2 if partisanship!=., robust

margins, dydx(fact2) 

reg age i.fact2 if partisanship!=., robust

margins, dydx(fact2)

reg interest i.fact2 if partisanship!=., robust

margins, dydx(fact2)

reg dogmatism i.fact2 if partisanship!=., robust

margins, dydx(fact2)

reg disengagement i.fact2 if partisanship!=., robust

margins, dydx(fact2)

reg petista i.fact2 if partisanship!=., robust

margins, dydx(fact2)

reg antipetista i.fact2 if partisanship!=., robust

margins, dydx(fact2)

reg nonpartisan i.fact if partisanship!=., robust

margins, dydx(fact2)



* Probit Models and F-Test of Correlates of Treatment by Type of Rumor (full sample) (Table G3)

probit fact2 income education sex age interest dogmatism disengagement petista antipetista if newstype==0
eststo
test income education sex age interest dogmatism disengagement petista antipetista , mtest(h)

probit fact2 income education sex age interest dogmatism disengagement petista antipetista if newstype==1
eststo
test income education sex age interest dogmatism disengagement petista antipetista , mtest(h)

probit fact2 income education sex age interest dogmatism disengagement petista antipetista if newstype==2
eststo
test income education sex age interest dogmatism disengagement petista antipetista , mtest(h)

probit fact2 income education sex age interest dogmatism disengagement petista antipetista
eststo
test income education sex age interest dogmatism disengagement petista antipetista , mtest(h)

* Table G3 in appendix G:

esttab using TableG3.tex, star(* 0.05 ** 0.01 *** 0.001) se(3)
eststo clear


* Probit Models and F-Test of Correlates of Treatment by Type of Rumor (excluding other partisans and other nonpartisans (Table G4)

probit fact2 income education sex age interest dogmatism disengagement petista antipetista  if newstype==0 & partisanship2!=.
eststo
test income education sex age interest dogmatism disengagement petista antipetista , mtest(h)

probit fact2 income education sex age interest dogmatism disengagement petista antipetista  if newstype==1 & partisanship2!=.
eststo
test income education sex age interest dogmatism disengagement petista antipetista , mtest(h)

probit fact2 income education sex age interest dogmatism disengagement petista antipetista if newstype==2 & partisanship2!=.
eststo
test income education sex age interest dogmatism disengagement petista antipetista , mtest(h)

probit fact2 income education sex age interest dogmatism disengagement petista antipetista if partisanship2!=.
eststo
test income education sex age interest dogmatism disengagement petista antipetista, mtest(h)

* Table G4 in appendix G:

esttab using TableG4.tex, star(* 0.05 ** 0.01 *** 0.001) se(3)
eststo clear



*** Appendix I  - Robustness Checks  

*** UNCONDITIONAL EFFECTS OF CORRECTIONS RUMOR REJECTION (DISBELIEF) (Table I1)

reg disbelief1 i.fact2 if newstype==0, robust
eststo
reg disbelief1 i.fact2 if newstype==1, robust
eststo
reg disbelief1 i.fact2 if newstype==2, robust
eststo
reg disbelief1 i.fact2, robust
eststo
* Table I1:
esttab using TableI1.tex, star(* 0.05 ** 0.01 *** 0.001) se(3)
eststo clear


*** Figure I1:

reg disbelief1 i.fact2##i.newstype imag1 imag3 imag5, robust

margins, dydx(fact2) at(newstype=(0(1)2))


reg disbelief1 i.fact2##i.newstype2 imag1 imag3 imag5, robust

margins, dydx(fact2) at(newstype2=(0(1)1))

matrix point4 = (.0565735\ .0218471 \ .0122675\ .0286139)

matrix lb4 = ( -.015755 \ -.0271388  \-.0567179 \ -.0400277)

matrix up4 = ( .128902\ .0708331\ .081253\ .0972555)

matrix news4 = (1\2\3\4)

matrix matrix4 = point4, lb4, up4, news4

matrix list matrix4

svmat matrix4, name(d)

eclplot d1 d2 d3 d4, ciopts(blcolor(black) msize(vtiny)) estopts(color(black) m(circle)) xlabel(0.3 " " 1 `" "Nonpolitical" "Rumor" "' 2 `" "Political" "Rumor" "' 3 `" "Anti-PT" "Rumor" "' 4 `" "Pro-PT" "Rumor" "' 4.3 " ", noticks labgap(2) tl(2) nogrid) yline(0, lcolor(black) lpattern(dash)) ylabel(-.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3", nogrid) ytitle("") xtitle("") ysize(8) xsize(8) graphregion(color(white)) plotregion(style(none)) xscale(noextend) yscale(noextend)

graph export figI1.eps


*** Figure I2:

* nonpolitical

reg disbelief1 i.fact2##i.partisanship i.imag if newstype==0, robust

margins, dydx(fact2) at(partisanship=(0(1)2))

marginsplot, plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Nonpolitical Rumor}", color(black) size(vlarge)) yline(0, lcolor(black) lpattern(dash)) ytitle(" ", height(7)) ylabel(-.4 "-.4" -.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3" .4 ".4",nogrid) xtitle(" ", size(medlarge) height(5)) xlabel(-.5 " " 0 "Nonpartisan" 1 "Antipetista" 2 "Petista" 2.5 " ", noticks labsize(medsmall)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(corr_non_nc)

* political

reg disbelief1 i.fact2##i.partisanship i.imag if newstype>0, robust

margins, dydx(fact2) at(partisanship=(0(1)2))

marginsplot, plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Political Rumor}", color(black) size(vlarge)) yline(0, lcolor(black) lpattern(dash)) ytitle(" ", height(7)) ylabel(-.4 "-.4" -.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3" .4 ".4",nogrid) xtitle(" ", size(medlarge) height(5)) xlabel(-.5 " " 0 "Nonpartisan" 1 "Antipetista" 2 "Petista" 2.5 " ", noticks labsize(medsmall)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(corr_pol_nc)

* negative

reg disbelief1 i.fact2##i.partisanship i.imag if newstype==1, robust

margins, dydx(fact2) at(partisanship=(0(1)2))

marginsplot, plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Anti-PT Rumor}", color(black) size(vlarge)) yline(0, lcolor(black) lpattern(dash)) ytitle(" ", height(7)) ylabel(-.4 "-.4" -.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3" .4 ".4",nogrid) xtitle(" ", size(medlarge) height(5)) xlabel(-.5 " " 0 "Nonpartisan" 1 "Antipetista" 2 "Petista" 2.5 " ", noticks labsize(medsmall)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(corr_neg_nc)


* positive

reg disbelief1 i.fact2##i.partisanship i.imag if newstype==2, robust

margins, dydx(fact2) at(partisanship=(0(1)2))

marginsplot, plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Pro-PT Rumor}", color(black) size(vlarge)) yline(0, lcolor(black) lpattern(dash)) ytitle(" ", height(7)) ylabel(-.4 "-.4" -.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3" .4 ".4",nogrid) xtitle(" ", size(medlarge) height(5)) xlabel(-.5 " " 0 "Nonpartisan" 1 "Antipetista" 2 "Petista" 2.5 " ", noticks labsize(medsmall)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(corr_pos_nc)

* combining graphs

graph combine corr_non_nc.gph corr_pol_nc.gph corr_neg_nc.gph corr_pos_nc.gph, row(2) ysize(10) xsize(12) graphregion(color(white)) plotregion(style(none)) iscale(.6)

*Figure I2:
graph export figI2.eps


*** CEILING AND FLOOR EFFECTS (Table I2)

* removing each rumor separately (ATE)

* First, Second and Third column of Table I2:
reg disbelief1 i.fact2##i.newstype disengagement i.partisanship dogmatism age sex income interest college if imag!=1, robust
margins, dydx(fact2) at(newstype=(0(1)2)) mcomp(bon)

reg disbelief1 i.fact2##i.newstype disengagement i.partisanship dogmatism age sex income interest college if imag!=2, robust
margins, dydx(fact2) at(newstype=(0(1)2)) mcomp(bon)

reg disbelief1 i.fact2##i.newstype disengagement i.partisanship dogmatism age sex income interest college if imag!=3, robust
margins, dydx(fact2) at(newstype=(0(1)2)) mcomp(bon)

reg disbelief1 i.fact2##i.newstype disengagement i.partisanship dogmatism age sex income interest college if imag!=4, robust
margins, dydx(fact2) at(newstype=(0(1)2)) mcomp(bon)

reg disbelief1 i.fact2##i.newstype disengagement i.partisanship dogmatism age sex income interest college if imag!=5, robust
margins, dydx(fact2) at(newstype=(0(1)2)) mcomp(bon)

reg disbelief1 i.fact2##i.newstype disengagement i.partisanship dogmatism age sex income interest college if imag!=6, robust
margins, dydx(fact2) at(newstype=(0(1)2)) mcomp(bon)

reg disbelief1 i.fact2##i.newstype disengagement i.partisanship2 dogmatism age sex income interest college if imag==1 | imag==4 | imag==6, robust
margins, dydx(fact2) at(newstype=(0(1)2))mcomp(bon)

reg disbelief1 i.fact2##i.newstype disengagement i.partisanship2 dogmatism age sex income interest college if imag==2 | imag==3 | imag==5, robust
margins, dydx(fact2) at(newstype=(0(1)2))


* Last column of table I2: 
reg disbelief1 i.fact2##i.newstype2 disengagement i.partisanship dogmatism age sex income interest college if imag!=1, robust
margins, dydx(fact2) at(newstype2=1) mcomp(bon)

reg disbelief1 i.fact2##i.newstype2 disengagement i.partisanship dogmatism age sex income interest college if imag!=2, robust
margins, dydx(fact2) at(newstype2=1) mcomp(bon)

reg disbelief1 i.fact2##i.newstype2 disengagement i.partisanship dogmatism age sex income interest college if imag!=3, robust
margins, dydx(fact2) at(newstype2=1) mcomp(bon)

reg disbelief1 i.fact2##i.newstype2 disengagement i.partisanship dogmatism age sex income interest college if imag!=4, robust
margins, dydx(fact2) at(newstype2=1) mcomp(bon)

reg disbelief1 i.fact2##i.newstype2 disengagement i.partisanship dogmatism age sex income interest college if imag!=5, robust
margins, dydx(fact2) at(newstype2=1) mcomp(bon)

reg disbelief1 i.fact2##i.newstype2 disengagement i.partisanship dogmatism age sex income interest college if imag!=6, robust
margins, dydx(fact2) at(newstype2=1) mcomp(bon)

reg disbelief1 i.fact2##i.newstype2 disengagement i.partisanship2 dogmatism age sex income interest college if imag==1 | imag==4 | imag==6, robust
margins, dydx(fact2) at(newstype2=1)

reg disbelief1 i.fact2##i.newstype2 disengagement i.partisanship2 dogmatism age sex income interest college if imag==2 | imag==3 | imag==5, robust
margins, dydx(fact2) at(newstype2=1)


*** Appendix J - Additional Analyses 

* Table J1: Probit Models of Effect of Corrections on Rumor rejection by Type of Rumor and Disengagement 

reg disbelief1 i.fact2##c.disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype==0, robust
eststo
reg disbelief1 i.fact2##c.disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype>0, robust
eststo
reg disbelief1 i.fact2##c.disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype==1, robust
eststo
reg disbelief1 i.fact2##c.disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype==2, robust
eststo

* Table J1:
esttab using TableJ1.tex, star(* 0.05 ** 0.01 *** 0.001) se(3)
eststo clear


* Table J2: Probit Models of Effect of Corrections on Rumor rejection by Type of Rumor and Dogmatism 

reg disbelief1 i.fact2##c.dogmatism disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype==0, robust
eststo
reg disbelief1 i.fact2##c.dogmatism disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype>0, robust
eststo
reg disbelief1 i.fact2##c.dogmatism disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype==1, robust
eststo
reg disbelief1 i.fact2##c.dogmatism disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype==2, robust
eststo
* Table J2:
esttab using TableJ2.tex, star(* 0.05 ** 0.01 *** 0.001) se(3)
eststo clear



* Table J3: Probit Models of Effect of Corrections on Rumor rejection by Type of Rumor and College Education

reg disbelief1 i.fact2##c.college disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype==0, robust
eststo
reg disbelief1 i.fact2##c.college disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype>0, robust
eststo
reg disbelief1 i.fact2##c.college disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype==1, robust
eststo
reg disbelief1 i.fact2##c.college disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype==2, robust
eststo

* Table J3:
esttab using TableJ3.tex, star(* 0.05 ** 0.01 *** 0.001) se(3)
eststo clear


* Table J4: Probit Models of Effect of Corrections on Rumor rejection by Type of Rumor and Age

reg disbelief1 i.fact2##c.age disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype==0, robust
eststo
reg disbelief1 i.fact2##c.age disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype>0, robust
eststo
reg disbelief1 i.fact2##c.age disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype==1, robust
eststo
reg disbelief1 i.fact2##c.age disengagement i.partisanship dogmatism age sex income interest college i.imag if newstype==2, robust
eststo

* Table J4:
esttab using TableJ4.tex, star(* 0.05 ** 0.01 *** 0.001) se(3)
eststo clear


* Figure J1: Rates of Belief by Type of Fake News (Including Partisan leaners) 

* non political

probit belief1 age sex income interest college disengagement dogmatism leaner antipetista petista if newstype==0 & partisanship!=.

margins, dydx(age sex income interest college disengagement dogmatism leaner antipetista petista)

marginsplot, horizontal plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Non Political Rumors}", color(black) size(large) margin(medium)) xline(0, lcolor(black) lpattern(dash)) ylabel(1 "Age" 2 "Sex" 3 "Income" 4 "Interest" 5 "College Degree" 6 "Disengagement" 7 "Dogmatism" 8 "Leaner" 9 "Antipetista" 10 "Petista", labsize(medium) nogrid) xlabel(-.4 "-.4" -.2 "-.2" 0 "0" .2 ".2" .4 ".4", labsize(medium)) xtitle(" ", size(medim) width(0)) ytitle(" ", size(medlarge) height(5)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(ob_non_l)

* political

probit belief1 age sex income interest college disengagement dogmatism leaner antipetista petista if newstype>0 & partisanship!=.

margins, dydx(age sex income interest college disengagement dogmatism leaner antipetista petista)

marginsplot, horizontal plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Political Rumors}", color(black) size(large) margin(medium)) xline(0, lcolor(black) lpattern(dash)) ylabel(1 "Age" 2 "Sex" 3 "Income" 4 "Interest" 5 "College Degree" 6 "Disengagement" 7 "Dogmatism" 8 "Leaner" 9 "Antipetista" 10 "Petista", labsize(medium) nogrid) xlabel(-.4 "-.4" -.2 "-.2" 0 "0" .2 ".2" .4 ".4", labsize(medium)) xtitle(" ", size(medim) width(0)) ytitle(" ", size(medlarge) height(5)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(ob_pol_l)


* negative

probit belief1 age sex income interest college disengagement dogmatism leaner antipetista petista if newstype==1 & partisanship!=.

margins, dydx(age sex income interest college disengagement dogmatism leaner antipetista petista)

marginsplot, horizontal plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Anti-PT Rumors}", color(black) size(large) margin(medium)) xline(0, lcolor(black) lpattern(dash)) ylabel(1 "Age" 2 "Sex" 3 "Income" 4 "Interest" 5 "College Degree" 6 "Disengagement" 7 "Dogmatism" 8 "Leaner" 9 "Antipetista" 10 "Petista", labsize(medium) nogrid) xlabel(-.4 "-.4" -.2 "-.2" 0 "0" .2 ".2" .4 ".4", labsize(medium)) xtitle(" ", size(medim) width(0)) ytitle(" ", size(medlarge) height(5)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(ob_neg_l)


* positive

probit belief1 age sex income interest college disengagement dogmatism leaner antipetista petista if newstype==2 & partisanship!=.

margins, dydx(age sex income interest college disengagement dogmatism leaner antipetista petista)

marginsplot, horizontal plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Pro-PT Rumors}", color(black) size(large) margin(medium)) xline(0, lcolor(black) lpattern(dash)) ylabel(1 "Age" 2 "Sex" 3 "Income" 4 "Interest" 5 "College Degree" 6 "Disengagement" 7 "Dogmatism" 8 "Leaner" 9 "Antipetista" 10 "Petista", labsize(medium) nogrid) xlabel(-.4 "-.4" -.2 "-.2" 0 "0" .2 ".2" .4 ".4", labsize(medium)) xtitle(" ", size(medim) width(0)) ytitle(" ", size(medlarge) height(5)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(ob_pos_l)


* combining graphs

graph combine ob_non_l.gph ob_pol_l.gph ob_neg_l.gph ob_pos_l.gph, row(2) ysize(10) xsize(12) graphregion(color(white)) plotregion(style(none)) iscale(.6)

*Figure J1 in appendix J:
graph export figJ1.eps


* Figure J2: Marginal Effect of Fact-Checking Corrections by Type of Rumor and partisanship (Including Partisan leaners) 

* nonpolitical

reg disbelief1 i.fact2##i.partisanship2 i.imag if newstype==0, robust

reg disbelief1 i.fact2##i.partisanship2 disengagement dogmatism age sex income interest college i.imag if newstype==0, robust

margins, dydx(fact2) at(partisanship2=(0(1)3)) mcomp(bon)

marginsplot, plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Non Political Rumor}", color(black) size(vlarge)) yline(0, lcolor(black) lpattern(dash)) ytitle(" ", height(7)) ylabel(-.4 "-.4" -.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3" .4 ".4",nogrid) xtitle(" ", size(medlarge) height(5)) xlabel(-.5 " " 0 "Nonpartisan" 1 "Leaner" 2 "Antipetista" 3 "Petista" 3.5 " ", noticks labsize(medsmall)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(corr_non_l)

* political

reg disbelief1 i.fact2##i.partisanship2 i.imag if newstype>0, robust

reg disbelief1 i.fact2##i.partisanship2 disengagement dogmatism age sex income interest college i.imag if newstype>0, robust

margins, dydx(fact2) at(partisanship2=(0(1)3)) mcomp(bon)

marginsplot, plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Political Rumor}", color(black) size(vlarge)) yline(0, lcolor(black) lpattern(dash)) ytitle(" ", height(7)) ylabel(-.4 "-.4" -.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3" .4 ".4",nogrid) xtitle(" ", size(medlarge) height(5)) xlabel(-.5 " " 0 "Nonpartisan" 1 "Leaner" 2 "Antipetista" 3 "Petista" 3.5 " ", noticks labsize(medsmall)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(corr_pol_l)

* negative

reg disbelief1 i.fact2##i.partisanship2 i.imag if newstype==1, robust

reg disbelief1 i.fact2##i.partisanship2 disengagement dogmatism age sex income interest college i.imag if newstype==1, robust

margins, dydx(fact2) at(partisanship2=(0(1)3)) mcomp(bon)

marginsplot, plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Anti-PT Rumor}", color(black) size(vlarge)) yline(0, lcolor(black) lpattern(dash)) ytitle(" ", height(7)) ylabel(-.4 "-.4" -.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3" .4 ".4",nogrid) xtitle(" ", size(medlarge) height(5)) xlabel(-.5 " " 0 "Nonpartisan" 1 "Leaner" 2 "Antipetista" 3 "Petista" 3.5 " ", noticks labsize(medsmall)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(corr_neg_l)


* positive

reg disbelief1 i.fact2##i.partisanship2 i.imag if newstype==2, robust

reg disbelief1 i.fact2##i.partisanship2 disengagement dogmatism age sex income interest college i.imag if newstype==2, robust

margins, dydx(fact2) at(partisanship2=(0(1)3)) mcomp(bon)

marginsplot, plot1(mcolor(black) lcolor(black) connect(none)) ci1(lcolor(black) msize(vtiny)) title("{bf:Pro-PT Rumor}", color(black) size(vlarge)) yline(0, lcolor(black) lpattern(dash)) ytitle(" ", height(7)) ylabel(-.4 "-.4" -.3 "-.3" -.2 "-.2" -.1 "-.1" 0 "0" .1 ".1" .2 ".2" .3 ".3" .4 ".4",nogrid) xtitle(" ", size(medlarge) height(5)) xlabel(-.5 " " 0 "Nonpartisan" 1 "Leaner" 2 "Antipetista" 3 "Petista" 3.5 " ", noticks labsize(medsmall)) yscale(noextend) xscale(noextend) plotregion(style(none)) graphregion(color(white)) ysize(8) xsize(8) saving(corr_pos_l)


* combining graphs

graph combine corr_non_l.gph corr_pol_l.gph corr_neg_l.gph corr_pos_l.gph, row(2) ysize(10) xsize(12) graphregion(color(white)) plotregion(style(none)) iscale(.6)

*Figure J2 in appendix J:
graph export figJ2.eps



****** END OF CODE
